\problemset{ФП - домашнее задание 3}

\begin{enumerate}
  %1
  \item
  \begin{enumerate}
    %a
    \item 
      $ (\lambda xy.~xy): (\tau \rightarrow \rho) \rightarrow \tau \rightarrow \rho $
      
    %b
    \item
      $ (\lambda xy.~yx): \tau \rightarrow (\tau \rightarrow \rho) \rightarrow \rho $
      
    %c
    \item 
      $ (\lambda xx.~x): \tau \rightarrow \rho \rightarrow \tau $
      
    %d
    \item
      $ (\lambda xy.~x(yx)): (\rho \rightarrow \tau) \rightarrow ((\rho \rightarrow \tau) \rightarrow \rho) \rightarrow \tau$
      
    %e
    \item
      $ (\lambda xy.~xyx): $ не типизируется. Предположим обратное: пусть $y : \tau$, тогда $x: \rho \rightarrow (\text{typeof } x) \rightarrow \sigma$, таким образом тип $x$ выражается через себя, что невозможно.      
  \end{enumerate}
    
  %2  
  \item
  \begin{enumerate}
    %a
    \item
      $ \lambda xyzp.~y(xpp)(zp) $

    %b
    \item
      $ \lambda xyztp.~z(xtt) $\\
      $ \lambda xyztp.~z(yp) $
      
    %c
    \item

    %d
    \item

    %e -
    \item
  \end{enumerate}
  
  %3
  \item
  \begin{enumerate}
    %a
    \item
      $ ge = $

    %b
    \item
      $ fac = $

    %c -
    \item
  \end{enumerate}

\end{enumerate}